package com.study.service;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.study.model.dto.note.LearningNoteAddRequest;
import com.study.model.dto.note.LearningNoteQueryRequest;
import com.study.model.dto.note.LearningNoteUpdateRequest;
import com.study.model.entity.LearningNote;
import com.study.model.entity.User;
import com.study.model.vo.LearningNoteVO;
import com.study.model.vo.UserVO;

import javax.servlet.http.HttpServletRequest;

/**
* @description 针对表【learning_note(学习笔记)】的数据库操作Service
* @createDate 2025-02-18 10:53:59
*/
public interface LearningNoteService extends IService<LearningNote> {

    /**
     * 创建学习笔记
     * @param noteAddRequest
     * @return
     */
    Long createLearningNote(LearningNoteAddRequest noteAddRequest, HttpServletRequest request);

    /**
     * 根据id查询学习笔记包装类
     * @param id
     * @return
     */
    LearningNoteVO getLearningNoteVOById(long id);

    /**
     * 更新学习笔记
     * @param noteUpdateRequest
     * @return
     */
    Boolean updateLearningNote(LearningNoteUpdateRequest noteUpdateRequest);

    /**
     * 分页获取学习笔记封装类
     * @param noteQueryRequest
     * @return
     */
    Page<LearningNoteVO> listLearningNoteVOByPage(LearningNoteQueryRequest noteQueryRequest);

    QueryWrapper<LearningNote> getQueryWrapper(LearningNoteQueryRequest noteQueryRequest);
}
